home *** CD-ROM | disk | FTP | other *** search
- /****************************************************/
- /* */
- /* File: Imageer.app.h */
- /* */
- /* Program: Imageer */
- /* */
- /* By: Jason Hodges-Harris */
- /* */
- /* Created: 26/10/95 00:00:00 AM */
- /* */
- /* Version: 1.0.0d3 */
- /* */
- /* Copyright: © 1995-96 Apple Computer, Inc., */
- /* all rights reserved. */
- /* */
- /****************************************************/
-
- #ifndef __IMAGEERAPPHEADER__
- #define __IMAGEERAPPHEADER__
-
-
- /**** Macintosh Toolbox Headers *****/
-
- #ifndef __GXTYPES__
- #include <GXTypes.h>
- #endif
-
- #ifndef __PALETTES__
- #include <Palettes.h>
- #endif
-
- #ifndef __QDOFFSCREEN__
- #include <QDOffscreen.h>
- #endif
-
- #ifndef __STANDARDFILE__
- #include <StandardFile.h>
- #endif
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
-
-
- // Application document structure
-
-
- #if GENERATINGPOWERPC
- #pragma options align=mac68k
- #endif
-
- struct ImageDoc
- {
- PaletteHandle theColorsPalette; // used by colors window
- GWorldPtr theImageWorld;
- long theFileRefNum,
- theFileType,
- theImageXSize,
- theImageYSize;
- ControlHandle theVScrollBar,
- theHScrollBar;
- gxViewPort theGXview,
- theGxChildView;
- gxShape theGXImageShape;
- gxInk theInkShape;
- gxTransferMode theUndoInkTransform;
- gxTransform theUndoShapeTransform;
- StandardFileReply theImageFileReply;
- FSSpec theTempUndoFileSpec,
- theTempRedoFileSpec;
- Rect theMaxWindowSize;
- short theImageDepth,
- theMenuItem,
- theLastAction, // type of last image action
- theUndoState, // temp file created to reverse last action
- theGXUndoType;
- Boolean theImageChanged,
- isUsingQDGX, // set dependent on image model used
- isColorsWindow, // used to test for colors window
- hasUndoTemp,
- hasRedoTemp;
- };
- typedef struct ImageDoc ImageDoc, *ImageDocPtr, **ImageDocHndl;
-
-
- struct TiffInfo
- {
- short byteOrder; // Intel or Motorola format
- short version; // Image version
- long offsetToIFD; // offset to 1st image file directory
-
- long xImageSize; // x coord image size
- long yImageSize; // y coord image size
- short PhotoInterpret; // Photometric Interpretation
- long imageOffset; // offset to image strip
- long rowStrip; // number of rows per image strip
- CTabHandle tiffCTabHndl; // Tiff image Palette colors
- short bitDepth; // image bit depth
- short compressionType; // compression
- short PlanarConfig; // pixel storage method
- };
- typedef struct TiffInfo TiffInfo, *TiffInfoPtr;
-
- struct UserGXSpool
- {
- gxSpoolBlock spool;
- short reference;
- };
- typedef struct UserGXSpool UserGXSpool;
-
-
- #if GENERATINGPOWERPC
- #pragma options align=reset
- #endif
-
-
- /**** type of image manipulation ****/
-
- enum
- {
- kPixMapOp = 1,
- kColorTableOp,
- kGXTransformOp
- };
-
-
- /**** Aplication creator ****/
-
- #define AppCreator 'Im#¢'
-
- /**** Supported image file types list ****/
-
- enum
- {
- TiffType = 1,
- PictType,
- GXType
- };
-
-
- /**** TIFF image byte formats ****/
-
- enum
- {
- MotoFormat = 'MM',
- IntlFormat = 'II'
- };
-
-
- /**** Image undo state ****/
-
- enum
- {
- kCannotUndo = 1,
- kCanUndo,
- kCanRedo
- };
-
-
- /**** Menubar constant definitions ****/
-
- #define rMenuBar 128
-
- #define mApple 128
- #define iAbout 1
-
- #define mFile 129
- #define iOpen 1
- #define iClose 2
- #define iCloseAll 3
- #define iSave 5
- #define iSaveAs 6
- #define iRevert 7
- #define iQuit 9
-
- #define mEdit 130
- #define iUndo 1
- #define iCut 3
- #define iCopy 4
- #define iPaste 5
-
- #define mWindow 131
- #define iColors 1
-
- #define mFilters 132
- #define iSmoothFilter 1
- #define iHiPassFilter 2
-
- #define mEffects 133
- #define iInvert 1
- #define iBrighness 3
- #define iContrast 4
- #define iColorComp 6
- #define iMirrorXaxis 8
- #define iMirrorYaxis 9
- #define iRotate180 10
-
- #define mBrightness 134
- #define iLighter 1
- #define iDarker 2
-
- #define mContrast 135
- #define iIncrease 1
- #define iDecrease 2
-
- #define mColor 136
- #define iRedColorComp 1
- #define iGreenColorComp 2
- #define iBlueColorComp 3
-
- #define mModel 137
- #define iUseQDGX 1
-
- #define mFileType 138
- #define iTiffType 1
- #define iPictType 2
- #define iGXType 3
- #define iAllFiles 4
-
- #define mSaveFileType 139
- #define iSaveTiffType 1
- #define iSavePictType 2
- #define iSaveGXType 3
-
-
- /**** General Application Constant definitions ****/
-
- #define kSleep 3L // Used in wait next event
- #define kLoadFilePopUpItem 10
- #define kSaveFilePopUpItem 13
- #define kProgressSteps 200
- #define kNull_Str ""
- #define kOkButton 1
- #define kSplashScrDelay 90 // 1.5 secs delay
- #define rSplashPICT 128
- #define kRadioButton 6
- #define kSpoolBlockSize 1024
- #define kLargeScroller 32
- #define kSmallScroller 8
- #define kMinLowMem 0x2800
- #define kScrollBarWidth 15
-
- /**** Window and dialog resource IDs ****/
-
- #define rGenWindow 128
- #define rColorsWindow 129
- #define rAboutBox 128
- #define rGenAlert 129
- #define rGenWarning 130
- #define rCustomOpenDialog 131
- #define rCustomSaveDialog 132
- #define rProgressBarWindow 130
- #define rSplashWindow 131
- #define rPictCompDialog 133
-
-
- /**** File System definitions ****/
-
- #define kFolderBit 0x10
- #define kFileVisibleBit 0x004000
-
-
- /**** STR# resource items ****/
-
- #define rErrMessages 128
- #define iNotImplemented 1
- #define iLowTempMem 2
- #define iFailAllocMem 3
- #define iNoSupportBitDepth 4
-
- #define rQDGXmessages 129
- #define iGXNotInstalled 1
- #define iGXLibNotLoaded 2
- #define iGXLoadErr 3
- #define iCannotSwitchGX 4
- #define iCannotConvToGX 5
- #define iTransformFailed 6
- #define iInkGetFail 7
- #define iFailInitPrint 8
-
- #define rQDMessages 130
- #define iFailGWorldAlloc 1
- #define iFailLockPixmap 2
-
- #define rMenuItems 131
- #define iShowColors 1
- #define iHideColors 2
- #define iOpUndo 3
- #define iOpCantUndo 4
- #define iOpRedo 5
-
- #define rImageModel 132
- #define iUseColorQD 1
- #define iUseQuickDrawGX 2
-
- #define rProgressMessages 133
- #define iLoading 1
- #define iSaving 2
-
- #define rFileIOMessages 134
- #define iSaveCompPICTErr 1
- #define iSaveUnCompPICTErr 2
- #define iSaveQDGXErr 3
- #define iCreateTempFldrErr 4
- #define iCreateTempFileErr 5
- #define iDeleteTempFileErr 6
- #define iDiskFullErr 7
- #define iRevertFileFail 8
- #define iTiffNotSupported 9
-
-
- /**** application defined error values ****/
-
- #define kDefaultAppError 1000 // application return error
- #define kFailedLockPixels 1001 // application failed to lock down GWorld PixMap
- #define kFileLoadAbortErr 1002 // failed to load image or cancel selected
- #define kFailMakePalette 1003 // failed to create a new palette
- #define kLowMemWarning 1004 // Low temporary memory warning
- #define kFailGetPixMap 1005 // Failed to retrieve PixMap handle from window doc structure
- #define kFailImageComp 1006 // Failed to compress image.
- #define kPtrNotCreated 1007 // Failed to create memory allocation for pointer
- #define kNotSupported 1008 // Function not supported
- #define kGXFileLoadErr 1009 // Failed to load in GX based image file
- #define kQDtoGXConvErr 1010 // Failed to convert from color QuickDRaw to QDGX
- #define kFailAllocDocHndl 1011 // Failed to allocate handle for window Doc structure
- #define kBitDepthErr 1012 // Image Bit Depth not supported for operation
- #define kGXFailTransform 1013 // QDGX transform operation failed
- #define kGXFailGetInk 1014 // QDGX fail to get ink object
- #define kFailMakeGWorld 1015 // Failed to allocate memory for image GWorld
- #define kFailPictCompSave 1016 // Save compressed PICT file failure
- #define kFailPictUnCompSave 1017 // Save uncompressed PICT file failure
- #define kFailQDGXSave 1018 // Save QDGX file failure
- #define kTIFFNotSupported 1019 // TIFF File contains tags not currently parsed
-
-
- /**** Control resource values ****/
-
- #define rVScrollBar 128
- #define rHScrollBar 129
- #define rProgressCntl 130
-
-
- /**** PICT compression dialog radion button IDs ****/
-
- enum
- {
- kNoCompression = 2,
- kHighQuality,
- kMediumQuality,
- kLowQuality
- };
-
-
- /**** image model return error codes ****/
-
- enum
- {
- kCannotConvertToGX = 1,
- kCannotConvertToQD
- };
-
-
- /**** GWorld flags ****/
-
- enum
- {
- kNoFlags = 0
- };
-
- /**** Color components ****/
-
- enum
- {
- kRedComp = 1,
- kGreenComp,
- kBlueComp
- };
-
-
- /**** QuickDraw GX transform types. Used for Undo operation ****/
-
- enum
- {
- kGXinkTransform = 1,
- kGXshapeTransform
- };
-
-
- /**** Progress Bar display options ****/
-
- enum
- {
- kDisplayProgressWindow,
- kUpdateProgressWindow,
- kDisposeProgressWindow
- };
-
-
- #endif // __IMAGEERAPPHEADER__